#!/bin/bash

echo "========================================"
echo "启动 Flink + Kafka 环境"
echo "========================================"

# 创建必要的目录
echo "创建数据目录..."
mkdir -p flink-data

# 停止并删除现有容器（如果存在）
echo "清理现有容器..."
docker-compose down -v

# 构建自定义 Flink 镜像
echo "构建包含 Kafka 连接器的 Flink 镜像..."
docker build -f Dockerfile.flink -t flink-with-kafka .

# 启动所有服务
echo "启动 Flink + Kafka 服务..."
docker-compose up -d

# 等待服务启动
echo "等待服务启动..."
sleep 30

# 检查服务状态
echo "检查服务状态..."
docker-compose ps

# 创建 Kafka 主题
echo "创建 Kafka 主题..."
docker exec kafka kafka-topics --create --topic financial-data-topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1
docker exec kafka kafka-topics --create --topic credit-data-topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1

# 验证主题创建
echo "验证 Kafka 主题..."
docker exec kafka kafka-topics --list --bootstrap-server localhost:9092

echo "========================================"
echo "部署完成！"
echo "Flink Web UI: http://192.168.236.134:8081"
echo "Kafka UI: http://192.168.236.134:8082"
echo "========================================" 